草庐IT

c++ - Qt Release build 给出 MSVC++ Runtime Library Error

全部标签

c - 为什么这个 MSVC API 是这样定义的?

errno_t_dupenv_s(char**buffer,size_t*sizeInBytes,constchar*varname);我有几个问题:为什么需要指向指针(**)的指针而不是指针(*)?为什么sizeInBytes是必需的,strlen(buffer)不可用吗? 最佳答案 msvc下任何以_s为后缀的函数都是安全函数,这意味着它不会对传递的数据的完整性做出任何假设。正是出于这个原因,字符串的长度是必需的,因为您不能假设它以null终止或根本终止(您可能也只想要一半的字符串,但这是副作用)。安全函数都返回错误代码,这样就

c++ - 我的程序在 Windows 上使用 MSVC 和 g++ 编译器运行,但在 Linux 上不运行

我正在为一项研究任务编写遗传算法。我不是一个非常有经验的C++程序员(因为我是一名数学家),但我管理我的程序在Windows环境中使用MSVC2008和g++编译器正确编译和运行(我使用CygWin在Windows7上运行g++)。现在,问题是这个程序必须在Linux环境下使用g++的集群计算机中运行,但它总是在执行时崩溃(尽管至少它编译正确)。我已经解决了明显的细节(例如使用/而不是\作为文件名),但无法使其在Linux上正常运行。但是,当我在下面注释函数“Cruce”时,程序结束了,尽管它显然没有执行所需的任务。这是这样一个函数的代码,以及它调用的其他函数(唯一的全局变量是BITG

c++ - 静态链接MSVC库,动态链接Qt

我正在部署我用Qt构建的东西,它是动态链接的,因为LGPL。我使用windeployqt.exe收集必要的dll,它在Windows10机器上运行良好。当我在Windows7机器上尝试时,出现了这个错误:Theprogramcan'tstartbecauseMSVCP140.dllismissingfromyourcomputer.经过一番研究,发现MSVCP140.dll是VisualStudio安装的System32中的一个dll。我应该让我的客户安装VisualStudio,这对我来说不是一个选项,或者静态链接它。我尝试使用/MT但我得到了:Overriding/MTwith/M

PHP 内置服务器给出 "CLI has stopped working"

我正在尝试使用PHP内置服务器功能php-Slocalhost:8888为我的项目运行测试服务器。当我使用它时,出现错误:在事件日志中,出现以下错误:Faultingapplicationname:php.exe,version:5.4.3.0,timestamp:0x4fb15e42Faultingmodulename:php5ts.dll,version:5.4.3.0,timestamp:0x4fb15f2cExceptioncode:0xc0000005Faultoffset:0x0000000000119940Faultingprocessid:0x1a40Faultinga

linux - 在 windows 和 linux 上都会成功的命令,但会给出不同的结果

这个问题是建立在我之前问过的问题之上的DetermineOSfromasinglecommandlineoperation当我提供主机名时,我有一个能够在远程系统上执行命令的工具。远程机器可以是Windows或Linux。执行命令后,我应该能够根据命令的结果确定操作系统。之前提供的解决方案是uname,它在linus操作系统上打印“Linux”而在windows上失败。它在理论上工作得很好,但我遇到的问题是任何命令失败都会使工具崩溃,因为在这种情况下Windows返回非零返回码。所以为了解决这个问题,我有两个选择无论如何强制windows命令行返回0作为退出代码的实际结果。(这必须作为

c++ - 使用 MSVC 9 编译的程序无法在 vanilla SP3 XP 上启动

我在虚拟机上安装了XP,将其更新为SP3,然后在我的真实计算机上测试了一个用VisualC++2008编译的小程序-但是它没有启动,只是输出一个错误,说检测到问题并且重新安装应用程序(我的应用程序大小为10KB,甚至没有安装)可以解决问题。运行使用MSVC9编译的程序需要什么?我可以只包含一些dll以便它在任何地方都能工作吗? 最佳答案 静态链接到运行时库(选择multithreaded而不是multithreaded-dll)或遵循tommieb75的建议并安装MSVC9runtimeredistributable(复制到syst

windows - clang-tidy 在 Windows 上使用 MSVC2015

我尝试使用clang-tidy在Windows上-到目前为止还没有成功。作为先决条件,我已经安装了LLVM3.9.1。我的普通编译器是MSVC2015,我的构建系统是QBS1.7.2。使用QBS我生成了compile_commands.json.当然,该文件包含MSVC2015cl.exe标志/参数。以下是显示一个文件条目的摘录:{"arguments":["C:/Programs/MVS14/VC/bin/amd64/cl.exe","/nologo","/c","/EHsc","/Zi","/MDd","/IC:\\some_ci_job_folder\\src\\some_com

c++ - GetThreadtimes 给出奇怪的结果

我正在使用GetThreadTimes每5微秒(或多或少)监视一个线程该线程“sleep”持续1分钟,但由于某种原因,有时我从GetThreadTimes获得的“用户时间”发生变化,即使该线程仍处于sleep模式。内核时间始终为0。有人知道为什么会这样吗?谢谢:) 最佳答案 5微秒?!GetThreadTimes()测量线程在sleep、用户/内核模式下花费的量子数。我在Win32上观察到10-15毫秒的典型调度程序量程。在一个量程以下,您会发现GetThreadTimes()报告的时间没有改变——它基本上只是将经过的量程(在每个状

windows - Archive::Any 给出 IO 错误

#!/usr/bin/perlusestrict;usewarnings;my$archive_files="C:\\Temp\\FREMOTE\\test.zip";subextract_archive($$);extract_archive($archive_files,"C:\\Temp\\FREMOTE\\TEST\\");extract_archive("C:\\Temp\\FREMOTE\\TEST\\testb.zip","C:\\Temp\\FREMOTE\\TEST\\testb\\");subextract_archive($$){my$archive_file=s

windows - Windows 中的 Waf PDB 输出(MSVC 工具集)?

我曾经使用GDB+Clang,现在我意识到我有多少认为堆栈跟踪是理所当然的。如何让Waf在构建的可执行文件的目录中生成PDB输出?我的配置将/Zi和/debug标志传递给编译器/链接器,但我看到的唯一pdb文件(对于位于我的构建目录的子目录中的多个二进制输出中的任何一个)是一个vc110.pdb文件构建目录的根目录(不,我的构建目录的根目录中没有任何类型的可执行二进制文件)。可根据要求提供额外信息-即使在谷歌搜索和其他信息查找任务之后,我只是不确定此刻放下什么对我有用(例如,我可能需要深入了解Waf代码知道到底要记下什么......)。 最佳答案